package abstractfactory.factory;


import abstractfactory.product.cheese.Cheese;
import abstractfactory.product.cheese.MozzarellaCheese;
import abstractfactory.product.clams.Clams;
import abstractfactory.product.clams.FrozenClams;
import abstractfactory.product.dough.Dough;
import abstractfactory.product.dough.ThickCrustDough;
import abstractfactory.product.sauce.PlumTomatoSauce;
import abstractfactory.product.sauce.Sauce;

/**
 * description:
 *  芝加哥工厂
 * @author yuanmenglv on 2019/11/28
 */
public class ChicagoFactory implements AbstractFactory {

    @Override
    public Cheese createCheese() {
        return new MozzarellaCheese();
    }

    @Override
    public Clams createClams() {
        return new FrozenClams();
    }

    @Override
    public Dough createDough() {
        return new ThickCrustDough();
    }

    @Override
    public Sauce createSauce() {
        return new PlumTomatoSauce();
    }
}
